<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<pre>
    面向对象语言中this表示当前对象的一个引用。但在JavaScript中this不是固定不变的，它会随着执行环境的改变而改变。
    JavaScript中的this：

    在方法中，this表示该方法所属的对象。

    如果单独使用，this表示全局对象。

    在函数中，this表示全局对象。

    在函数中，在严格模式下，this是未定义的(undefined)。

    在事件中，this表示接收事件的元素。

    类似call()和apply()方法可以将this引用到任何对象。



    语法
        function.call(thisArg, arg1, arg2, ...)    function改变指向到thisArg

    参数
        thisArg
            可选的，在 function 函数运行时使用的 this 值。
            请注意，this可能不是该方法看到的实际值：如果这个函数处于非严格模式下，则指定为 null 或 undefined 时会自动替换为指向全局对象，原始值会被包装。
        arg1, arg2, ...
            指定的参数列表。


    var person = {
        fullName: function() {
            return this.firstName + " " + this.lastName;
        }
    }
    var person1 = {
        firstName:"Bill",
        lastName: "Gates",
    }
    var person2 = {
        firstName:"Steve",
        lastName: "Jobs",
    }
    person.fullName.call(person1);  // 将返回 "Bill Gates"  this指向person1


</pre>
</body>
</html>